package org.shagin.jfin.model.event;

import java.util.EventListener;

/**
 * The listener interface for receiving budget events. The class that is
 * interested in processing a budget event implements this interface, and the
 * object created with that class is registered with a component using the
 * component's <code>addBudgetListener<code> method. When
 * the budget event occurs, that object's appropriate
 * method is invoked.
 * 
 * @see BudgetEvent
 */
public interface BudgetListener extends EventListener {

    /**
     * Changed.
     * 
     * @param e the e
     */
    void changed(BudgetEvent e);

    /**
     * Account changed.
     * 
     * @param e the e
     */
    void accountChanged(AccountEvent e);

    /**
     * Account added.
     * 
     * @param e the e
     */
    void accountAdded(AccountEvent e);

    /**
     * Account deleted.
     * 
     * @param e the e
     */
    void accountDeleted(AccountEvent e);

    /**
     * Cost center changed.
     * 
     * @param e the e
     */
    void costCenterChanged(CostCenterEvent e);

    /**
     * Cost center added.
     * 
     * @param e the e
     */
    void costCenterAdded(CostCenterEvent e);

    /**
     * Cost center deleted.
     * 
     * @param e the e
     */
    void costCenterDeleted(CostCenterEvent e);

    /**
     * Operation rule changed.
     * 
     * @param e the e
     */
    void operationRuleChanged(OperationRuleEvent e);

    /**
     * Operation rule added.
     * 
     * @param e the e
     */
    void operationRuleAdded(OperationRuleEvent e);

    /**
     * Operation rule deleted.
     * 
     * @param e the e
     */
    void operationRuleDeleted(OperationRuleEvent e);

    /**
     * Operation category changed.
     *
     * @param e the e
     */
    void operationCategoryChanged(OperationCategoryEvent e);

    /**
     * Operation category added.
     *
     * @param e the e
     */
    void operationCategoryAdded(OperationCategoryEvent e);

    /**
     * Operation category deleted.
     *
     * @param e the e
     */
    void operationCategoryDeleted(OperationCategoryEvent e);

}
